home *** CD-ROM | disk | FTP | other *** search
/ TOS Silver 2000 / TOS Silver 2000.iso / programm / MM2_DEV / S / MOS / CLOCK.D < prev    next >
Encoding:
Modula Definition  |  1989-08-16  |  2.1 KB  |  82 lines

  1. DEFINITION MODULE Clock;
  2.  
  3. (*
  4.  * Zeitbestimmung, Wochentagsbestimmung, sowie Zeitdifferenz/addition.
  5.  *)
  6.  
  7. IMPORT  MOSGlobals;
  8.  
  9. TYPE    Time = MOSGlobals.Time;
  10.                (* RECORD second: [0..59]; minute: [0..59]; hour: [0..23] END *)
  11.  
  12.         Date = MOSGlobals.Date;
  13.                (* RECORD day: [1..31]; month: [1..12]; year: CARDINAL; END *)
  14.  
  15.         WeekDays = (mon, tue, wed, thu, fri, sat, sun);
  16.  
  17. (*
  18.  * Die GEMDOS-Zeit wird beim Anlegen und Verändern von Dateien verwendet,
  19.  * die XBIOS-Zeit bleibt bei einem System-Neustart erhalten. Beide Zeiten
  20.  * sind nicht exakt gleich !
  21.  *)
  22.  
  23. PROCEDURE CurrentDate (): Date;
  24.   (* GEMDOS - Zeit *)
  25.  
  26. PROCEDURE CurrentTime (): Time;
  27.   (* GEMDOS - Zeit *)
  28.  
  29. PROCEDURE SetDateAndTime ( d: Date; t: Time );
  30.   (* GEMDOS - und XBIOS - Zeit *)
  31.  
  32. PROCEDURE GetDateAndTime ( VAR d:Date; VAR t: Time );
  33.   (* XBIOS - Zeit *)
  34.  
  35.  
  36. (*
  37.  * Umwandeln der Zeit/Datums-Records in CARDINAL-Werte (GEMDOS-interne
  38.  * Darstellung) und zurück.
  39.  *
  40.  * Die gepackten Werte von 'Time' und 'Date' entsprechen den Darstellungen
  41.  * des GEMDOS und sind so aufgebaut, daß Zeitvergleiche einfach mit '>'
  42.  * und '<' möglich sind.
  43.  *)
  44.  
  45. PROCEDURE PackDate ( d: Date ): CARDINAL;
  46.  
  47. PROCEDURE UnpackDate ( d: CARDINAL ): Date;
  48.  
  49. PROCEDURE PackTime ( t: Time ): CARDINAL;
  50.  
  51. PROCEDURE UnpackTime ( t: CARDINAL ): Time;
  52.  
  53.  
  54. (*
  55.  * Die folgenden Funktionen wurden erstellt von
  56.  *
  57.  *   Markus Kilbinger, Vaalser Str. 152b, 5100 Aachen, Tel.: 0241 875896
  58.  *
  59.  * Sie berücksichtigen auch die Besonderheiten des gregorianischen
  60.  * Kalendersystems. Das Datum ist somit ab der Einführung des gregor.
  61.  * Kalenders im Jahre 1582 gültig.
  62.  *)
  63.  
  64.  
  65. PROCEDURE DayOfWeek (d: Date): WeekDays;
  66.   (*
  67.    * Bestimmt zu einem gegebenen Datum 'd' den Wochentag.
  68.    *)
  69.  
  70. PROCEDURE DaysBetween (from, to: Date): LONGINT;
  71.   (*
  72.    * Berechnet die Anzahl der Tage zwischen zwei Daten 'from' und 'to'.
  73.    * Ist 'from' älteren Datums als 'to', wird ein positiver Wert geliefert.
  74.    *)
  75.  
  76. PROCEDURE DaysAdded (d: Date; n: LONGINT): Date;
  77.   (*
  78.    * Addiert zu einem Datum 'd' 'n' Tage und liefert das sich ergebende Datum.
  79.    *)
  80.  
  81. END Clock.
  82.